package com.weimob.mcloud.wechatwork.customer.service.user.module.dto.tag;

import com.weimob.mcloud.wechatwork.customer.service.user.base.PrivateSphereDTO;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * @author junlong.lv
 * @version 1.0
 * @date 2021/11/3 8:09 上午
 */
public class TagDTO implements Serializable {

    private static final long serialVersionUID = -1966143050480989815L;

    /**
     * 私域信息
     */
    private PrivateSphereDTO privateSphereDTO;

    /**
     * 标签组
     */
    private TagGroupDTO tagGroupDTO;

    /**
     * 外部标签id,eg.企微官方标签
     */
    private String externalTagId;

    /**
     * cdp标签id
     */
    private String cdpTagId;

    /**
     * 标签名称
     */
    private String tagName;

    /**
     * 标签来源
     */
    private Integer tagSource;

    /**
     * 0-移除 1-增加
     */
    private Integer operateType;

    private Boolean deleted;

    /**
     * 请求扩展字段
     * 比如key:cdp_product_instance_id
     */
    private Map<String, Object> extInfo = new HashMap<>();

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public TagGroupDTO getTagGroupDTO() {
        return tagGroupDTO;
    }

    public void setTagGroupDTO(TagGroupDTO tagGroupDTO) {
        this.tagGroupDTO = tagGroupDTO;
    }

    public String getExternalTagId() {
        return externalTagId;
    }

    public void setExternalTagId(String externalTagId) {
        this.externalTagId = externalTagId;
    }

    public String getCdpTagId() {
        return cdpTagId;
    }

    public void setCdpTagId(String cdpTagId) {
        this.cdpTagId = cdpTagId;
    }

    public String getTagName() {
        return tagName;
    }

    public void setTagName(String tagName) {
        this.tagName = tagName;
    }

    public Integer getTagSource() {
        return tagSource;
    }

    public void setTagSource(Integer tagSource) {
        this.tagSource = tagSource;
    }

    public Integer getOperateType() {
        return operateType;
    }

    public void setOperateType(Integer operateType) {
        this.operateType = operateType;
    }

    public Map<String, Object> getExtInfo() {
        return extInfo;
    }

    public void setExtInfo(Map<String, Object> extInfo) {
        this.extInfo = extInfo;
    }

    public PrivateSphereDTO getPrivateSphereDTO() {
        return privateSphereDTO;
    }

    public void setPrivateSphereDTO(PrivateSphereDTO privateSphereDTO) {
        this.privateSphereDTO = privateSphereDTO;
    }
}
